A MEMS (micro-electro-mechanical system) oscillator has been proposed that is capable of operating as a detection device, the oscillation frequency of the oscillator being dependent on one or more environmental conditions. An array of such MEMS oscillators can be used to generate an image of a scene, and the data from the array is read by detecting the frequency of an output signal of each oscillator in the array.
One solution for detecting the frequency of the output signal of a MEMS oscillator would be to count in each pixel a given number of periods of the output signal, and to accurately measure within each pixel the time duration of those periods using a further counter. However, to provide an accurate measure of the oscillation frequency, the number of periods should be relatively high and the further counter should operate at many times the frequency of the oscillating signal, meaning that a relatively large counter is required in each pixel, leading to a high chip area.
A further difficulty in an array of MEMS oscillators is compensating for temperature variations and dispersion between pixels, which can add noise to the output data of the array.
There is a need in the art for a circuit and method for reading an array of oscillators providing an improvement over existing solutions in terms of chip area, power consumption and/or image quality.